This invention relates generally to the design of multi-function digital devices. More particularly, this invention relates to a technique for profiling disparate communications and signal processing standards and services to facilitate the development of an application-specific processor.
Signal processing protocols and standards have proliferated with advances in wireless communications devices and services. Current communications protocols include Frequency Division Multiplexing (FDM), Time Division Multiple Access (TDMA) and Code Division Multiple Access (CDMA). The United States, Europe, Japan and Korea have all developed their own standards for each communications protocol. TDMA standards include Interim Standard-136 (IS-136), Global System for Mobile (GSM), and General Packet Radio Service (GPRS). CDMA standards include Global Positioning System (GPS), Interim Standard-95 (IS-95) and Wide Band CDMA (WCDMA). Wireless communications services include paging, voice and data applications.
Until recently wireless communications devices supported a single communications standard. In theory, a wireless communications device can be designed using a general purpose Digital Signal Processor (DSP) that would be programmed to realize a set of functional blocks specifying the minimum performance requirements for the application. To achieve these minimum performance requirements, system designers design algorithms (sequences of arithmetic, trigonometric, logic, control, memory access, indexing operations, and the like) to encode, transmit, and decode signals. These algorithms are typically specified in software. The set of algorithms which achieve the target performance-specification is collectively referred to as the executable specification. This executable specification can then be compiled and run on the DSP, typically via the use of a compiler. Despite the increasing computational power and speeds of general purpose DSPs and decreasing memory cost and size, designers have not been able to satisfy cost, power and speed requirements simply by programming a general purpose DSP with the executable specification for a standard-specific application.
Additional dedicated high-speed processing is required, a need which has traditionally been met using an application-specific processor. As used herein, an application-specific processor is a processor that excels in the efficient execution (power, area, flexibility) of a set of algorithms tailored to the application. An application-specific processor fares extremely poorly for algorithms outside the intended application space. In other words, the improved speed and power efficiency of application-specific-processors comes at the cost of function flexibility.
Demand is now growing for wireless communications devices that support multiple applications and varying grades of services over multiple standards. Today""s solution to this problem is to essentially connect multiple application-specific processors together to obtain multi-standard operation, thereby adding cost in terms of design resources, design time, and silicon area. FIG. 1 illustrates, in block diagram form, a wireless communications device designed with this approach. FIG. 1 includes a micro-controller core 20 and a DSP 22 having access to a memory 24. The wireless communications device also includes a set of application-specific fixed function circuits 26A-26D, including an AMPS circuit 26A, a CDMA circuit 26B, an IS-136 circuit 26C, and a GSM circuit 26D.
In view of the foregoing, it would be highly desirable to eliminate application-specific communications and signal processors by providing a technique for profiling disparate communications and signal processing standards to facilitate the implementation of a single processor to support the disparate communications and signal processing standards in a cost, area and power efficient fashion.
The method of the present invention profiles disparate communications and signal processing standards to define a programmable processor that may be programmed to execute any of the disparate communications and signal processing standards. The method includes the steps of selecting a set of communications and signal processing standards for analysis and identifying functions common to the selected set of communications and signal processing standards. Thereafter, the common functions are ranked according to computational intensity. Using this ranking, a set of high computational intensity functions are selected for implementation as kernels, the set of kernels forming a programmable processor with which any one of the set of communications and signal processing standards can be implemented.
The invention enables the identification of optimum datapaths and control state-machines for use in the design of application-specific processors. The methodology can be used to identify functions that are poorly executed by existing microprocessors and digital signal processors. The technique can also define new datapaths and state-machines required to efficiently implement functions. The methodology of the invention offers a systematic way to analyze functions across many applications or standards, thereby reducing the time to define a processor architecture and increasing the amount of design reuse possible in the design of new processors for digital signal processing of multi-standard applications.